package org.nstack.network.service.vip;

import org.springframework.http.HttpMethod;
import org.nstack.header.identity.Action;
import org.nstack.header.message.APIDeleteMessage;
import org.nstack.header.message.APIParam;
import org.nstack.header.network.l3.L3NetworkMessage;
import org.nstack.header.rest.APINoSee;
import org.nstack.header.rest.RestRequest;


@Action(category = VipConstant.ACTION_CATEGORY)
@RestRequest(
        path = "/vips/{uuid}",
        method = HttpMethod.DELETE,
        responseClass = APIDeleteVipEvent.class
)
public class APIDeleteVipMsg extends APIDeleteMessage implements L3NetworkMessage, VipMessage {

    @APINoSee
    private String l3NetworkUuid;

    @APIParam(checkAccount = true, operationTarget = true, resourceType = VipVO.class, successIfResourceNotExisting = true)
    private String uuid;

    public String getUuid() {
        return uuid;
    }

    public void setUuid(String uuid) {
        this.uuid = uuid;
    }

    @Override
    public String getL3NetworkUuid() {
        return l3NetworkUuid;
    }

    public void setL3NetworkUuid(String l3NetworkUuid) {
        this.l3NetworkUuid = l3NetworkUuid;
    }

    @Override
    public String getVipUuid() {
        return uuid;
    }

    public static APIDeleteVipMsg __example__() {
        APIDeleteVipMsg msg = new APIDeleteVipMsg();
        msg.setUuid(uuid());

        return msg;
    }

}
